
public class AreaLight extends Light {

	private Rectangle rectArea = null;
	private int gridWidth;
	
	public AreaLight(){
		this.rectArea = new Rectangle();
		this.gridWidth = 1;
		this.setColor(new RGB(1.0, 1.0, 1.0)); 
	}
	
	public AreaLight(Rectangle rectArea, int gridWidth){
		this();
		this.rectArea = rectArea;
		this.gridWidth = gridWidth;
	}

	public AreaLight(Rectangle rectArea, int gridWidth, RGB color){
		this(rectArea, gridWidth);
		this.setColor(color);
	}
	
	public Rectangle getRectArea(){
		return this.rectArea;
	}

	public void setP0(Vector p0) {
		this.rectArea.setP0(p0);
	}
	
	public Vector getP0() {
		return this.rectArea.getP0();
	}
	
	public void setP1(Vector p1) {
		this.rectArea.setP0(p1);
	}
	
	public Vector getP1() {
		return this.rectArea.getP1();
	}
	
	public void setP2(Vector p2) {
		this.rectArea.setP0(p2);
	}
	
	public Vector getP2() {
		return this.rectArea.getP2();
	}
	
	public int getGridWidth(){
		return this.gridWidth;
	}
	
	public void setGridWidth(int gridWidth) {
		this.gridWidth = gridWidth;
	}

	@Override
	public Vector getDirection(Vector target) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public RGB getLightningAt(Vector target) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean isBlockedByPrimitive(Vector target, Vector viewDirection, Primitive p) {
		// TODO Auto-generated method stub
		return false;
	}
}
